home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C++ / Frameworks / Sprocket Framework DR2 / About Sprocket next >
Text File  |  1996-06-16  |  6KB  |  198 lines

  1. Welcome to Sprocket!
  2.  
  3. This is the second official public release, and represents a very stable and
  4. robust release.  Sprocket development is continuing on a daily basis, and you are
  5. welcomed and encouraged to enhance Sprocket with your fixes, additions, or
  6. optimizations.  Sprocket is already being using in commercial applications, and
  7. the number of people using Sprocket is growing rapidly.
  8.  
  9.  
  10. What is Sprocket?
  11. -----------------
  12.  
  13. Sprocket is a C++ application framework.  The
  14. goals in mind when it was in development were the following:
  15.  
  16. • Easy to understand, easy to learn
  17. • Takes advantage of cutting-edge features like Apple Guide, QuickDrawGX, Thread manager, and MacOS 8 calls if available
  18. • Compact (the Sprocket Framework is only 20 files)
  19. • Easy to extend
  20.  
  21. I believe that all of these goals have been attained.  Sprocket is very easy to
  22. learn because it gives you what every commercial or in-house application needs,
  23. and not anything more.  Sprocket does not suffer from framework bloat like
  24. PowerPlant and the Think Class Library (about 100-200 files depending on the
  25. version).  The Sprocket samples will compile from scratch, including building its
  26. own precompiled headers and compiling Sprocket, in about 70 seconds on a
  27. PowerMacintosh 7200/90.  Try that with TCL!  Finally, adding or extending
  28. functionality is very straight-forward. thanks to its clean code and the C++
  29. architecture.
  30.  
  31.  
  32. How is Sprocket set up?
  33. -----------------------
  34.  
  35. A typical Sprocket application (here, the SprocketNothing project was chosen)
  36. consists of the following files, organized by segment:
  37.  
  38. Sprocket Nothing
  39.     SprocketNothingHeaders.pch
  40.     SprocketNothing.cp
  41.     SprocketNothing.rsrc
  42.  
  43. Sprocket Core
  44.     SprocketMain.cp
  45.     AEFutures.cp
  46.     AEHandling.cp
  47.     AEThreads.cp
  48.     Semaphores.cp
  49.     ThreadContext.cp
  50.     File.cp
  51.     DynamicArray.cp
  52.     LinkedList.cp
  53.     SortedDynamicArray.cp
  54.     DialogWindow.cp
  55.     MenuBar.cp
  56.     SplashWindow.cp
  57.     Window.cp
  58.  
  59. Sprocket Utils
  60.     UDialog.cp
  61.     UDrag.cp
  62.     UGuide.cp
  63.     UPrinting.cp
  64.     UResources.cp
  65.     UString.cp
  66.  
  67. Sprocket Optional Classes
  68.     DocumentWindow.cp
  69.     SerialNumberProtection.cp
  70.     SpokenCommandHandler.cp
  71.     Preferences.cp
  72.     MultiPanelDialogWindow.cp
  73.  
  74. Sprocket Resources
  75.     Sprocket.rsrc
  76.     StandardMenus.rsrc
  77.  
  78. Sprocket Libraries
  79.     console.stubs.c
  80.     MWCRuntime.Lib
  81.     AppSystem7orMacOS8.stubs
  82.     AGFileLibPPC
  83.     AOCELib
  84.     ThreadsLib
  85.     SpeechLib
  86.     SpeechRecognitionLib
  87.     
  88.     
  89. Now let's take these files one at a time at describe thier usage.
  90.  
  91. App-Specific Code (your code goes here)
  92. ---------------------------------------
  93.  
  94. SprocketNothingHeaders.pch build the applications precompiled headers.  It
  95. includes the file BuildConditionals.h, an important file were global defines are
  96. set which affect which features your application will support.  YOU PROVIDE THIS
  97. FILE, which can be named whatever you want.
  98.  
  99. SprocketNothing.cp is the file which implements the required functions of a
  100. Sprocket application.  You can find defines for these functions in Sprocket.h.
  101. YOU PROVIDE THIS FILE, which can be named whatever you want.
  102.  
  103. SprocketNothing.rsrc the application-specific resources file which you provide. 
  104. YOU PROVIDE THIS FILE, which can be named whatever you want.
  105.  
  106. Sprocket Core Classes
  107. ---------------------
  108.  
  109. SprocketMain.cp contains the core Macintosh application code.  In here you will
  110. find main(), the setup and teardown routines, as well as the actual event loop.
  111.  
  112. AEFutures.cp implements the asyncronous Apple Events support, otherwise known as
  113. futures.
  114.  
  115. AEHandling.cp provides general Apple Event support for the required suite and the
  116. display manager suite.
  117.  
  118. AEThreads.cp is a utility class to support the futures package.
  119. Semaphores.cp is a utility class to support the futures package.
  120. ThreadContext.cp is a utility class to support the futures package.
  121.  
  122. File.cp is a file class which handles creating, reading, deleting, and other file
  123. functions.
  124.  
  125. LinkedList.cp implements a standard linked list of void pointers.
  126.  
  127. DynamicArray.cp implements a standard dynamic array of void pointers.
  128.  
  129. SortedDynamicArray.cp is a subclass of TDynamicArray which provides a sorting
  130. mechanism.  Any subclass of this can provide their own sorting mechanism.
  131.  
  132. DialogWindow.cp is a subclass of TWindow which uses DLOG and DITL resources to
  133. build its contect.
  134.  
  135. MenuBar.cp handles all menubar related functions, including enabling/disabling of
  136. menu items, adding/removing menus from the menubar, etc.  TMenuBar takes
  137. advantage of CMNUs, so use them instead of MENUs.
  138.  
  139. SplashWindow.cp handles the splash window and the status line in it.
  140.  
  141. Window.cp is a full-featured generic window class.
  142.  
  143.  
  144. Sprocket Utilities
  145. ------------------
  146. UDialog.cp provide the alert, dialog, and error reporting functions, as well as
  147. the standard dialog filter procs.
  148.  
  149. UDrag.cp includes some handy Drag and Drop functions.
  150.  
  151. UGuide.cp allows for easy opening of application Apple Guide files.
  152.  
  153. UPrinting.cp provides a filter for the QuickDraw GX moveable modal printing
  154. dialog box.
  155.  
  156. UResources.cp is a set of compatibility function which call System 7 or MacOS 8
  157. resource manager routines based on a runtime system version check.
  158.  
  159. UString.cp is a standard set of string manipulation functions.
  160.  
  161.  
  162. Sprocket Optional Classes
  163. -------------------------
  164. DocumentWindow.cp is a class which implement a document-based window which
  165. provides saving and printing routines (both QuickDraw and GX!).
  166.  
  167. SerialNumberProtection.cp provides application registration and network serial
  168. number protection.
  169.  
  170. SpokenCommandHandler.cp processes speech and turns spoken commands into Sprocket
  171. commands.
  172.  
  173. Preferences.cp handles a prefs file based in the prefs folder.
  174.  
  175. MultiPanelDialogWindow.cp implements a dialog window which has multiple panel
  176. which can be selected via a control.
  177.  
  178.  
  179. Sprocket Resources
  180. ------------------
  181. Sprocket.rsrc is a required set of resources for the Sprocket Framework.
  182. StandardMenus.rsrc is a template of commonly used menus.
  183.  
  184.  
  185. Sprocket Libraries
  186. ------------------
  187. AppSystem7orMacOS8.stubs should be included if you are using the MacOS 8
  188. headers and libraries.  If you are using the older libraries, remove this file
  189. and include the standard Mac libraries from System 7.
  190.  
  191. console.stubs.c
  192. MWCRuntime.Lib
  193. AGFileLibPPC
  194. AOCELib
  195. ThreadsLib
  196. SpeechLib
  197. SpeechRecognitionLib
  198.